# 数据是保存在内存中，不同数据类型保存方式不同
# id()函数：返回数据的内存地址
# 简单类型分析：整数、浮点数、字符串、布尔类型
def t1():
    a = 10
    b = 'hello'
    c = [1,2,3]
    a1 = 10
    b1 = 'hello'
    c1 = [1, 2, 3]
    # a,b都是简单数据类型，python会做缓存处理，所以是一个地址
    # 复杂数据类型也可能会缓存，看情况处理
    print('a的id','->', id(a),'b的id','->', id(b),'c的id','->', id(c),'a1的id','->', id(a1),'b1的id','->', id(b1),'c1的id','->', id(c1),)


def num_type():
    a = 10
    print(id(a),id(10)) #指向同一个地址，所以id相同
    print('a的id是：',id(a))
    a1 = a
    print('a1的id是：',id(a1))
    # print(id(a1),id(a)) #指向同一个地址，所以id相同
    a2 = 20
    print('a2的id是：', id(a2))
    b = 'hello'
    print('b的id是：',id(b))
    b1 = b
    print('b1的id是：',id(b1))
    b1 += 'world'
    print('b1的id是：',id(b1)) #b1改变，b1的id改变
    c = True
    print('c的id是：',id(c))
    c1 = c
    print('c1的id是：',id(c1))
    c1 = False
    print('c1的id是：',id(c1))

if __name__ == '__main__':
    t1()
    # num_type()